package LC_101_200;

import java.util.ArrayList;
import java.util.List;

/**
 * 杨辉三角
 */
public class LC118 {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        int[][] dp = new int[numRows][numRows];
        for (int i = 0; i < numRows; i++) {
            ArrayList<Integer> list = new ArrayList<>();
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == i) {
                    dp[i][j] = 1;
                } else {
                    //从第二行开始
                    if (i >= 1) {
                        dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];
                    }
                }
                list.add(dp[i][j]);
            }
            res.add(list);
        }
        return res;
    }
}
